package com.glialsoft.daos;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.naming.InitialContext;
import javax.sql.DataSource;

import com.dtos.Historia_ClinicaDTO;
import com.dtos.Historia_PsicologicaDTO;
import com.dtos.Historia_SocialDTO;
import com.dtos.PacienteDTO;

public class HistoriaSocialDAO {

	
	private DataSource ds = null;  
     private Connection con = null;  
	 private  Statement stmt = null;  
	 private  InitialContext ic;
	
	
	public void registrarHistoria(Historia_SocialDTO historial_socialDTO){
		System.out.println("--Registro historia social--");
		try {   
		String exeSQL="INSERT INTO historias_sociles  (estrato,localidad,tipo_eps,antecedentes,id_paciente) " +
				"VALUES ('"+historial_socialDTO.getEstrato()+"','"+historial_socialDTO.getLocalidad()+"','"+historial_socialDTO.getTipo_eps()+"','"+historial_socialDTO.getAntecedentes()+"',"+historial_socialDTO.getId_paciente()+")";
			
			 ic = new InitialContext();  
			 ds = (DataSource) ic.lookup("java:jboss/postgresDS");  
			 
			 
			 con = ds.getConnection();  
			 stmt = con.createStatement();  
			
			 
			 stmt.execute(exeSQL);
			  System.out.println("***Registro completado*** ");
			
			 
			 
			 
		 
			 stmt.close();  
			 } catch (Exception e) {  
			
				 e.printStackTrace();
			 } finally {  
				 
			 if (con != null) {  
			   
				 try {
					con.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					 e.printStackTrace();
				}  
			       
			 
			 }  
			 }  
	
	
	}
	
	public ArrayList<PacienteDTO> listaPaciente(){
	ArrayList<PacienteDTO> lista = new ArrayList<PacienteDTO>();
		
	System.out.println("Consulta de Pacientes");
	try {   
	String exeSQL="select * from pacientes";
		 ic = new InitialContext();  
		 ds = (DataSource) ic.lookup("java:jboss/postgresDS");  
		 
		 
		 con = ds.getConnection();  
		 stmt = con.createStatement();  
		 ResultSet rs=null;
		 
		 rs= stmt.executeQuery(exeSQL);
		 
		 while ( rs.next() )
		    {
		    //  Blog blog = new Blog();
		      //blog.setID  ( rs.getInt("id") );
		      //blog.setText( rs.getString("text") );
		      //blogs.add(blog);
		    
			 PacienteDTO nuevo = new PacienteDTO();
			 nuevo.setNombre(rs.getString("nombres"));
			 nuevo.setApellidos(rs.getString("apellidos"));
			 nuevo.setCedula(rs.getString("cedula"));
		    nuevo.setDireccion_recidencia(rs.getString("direccion_residencia"));
		    nuevo.setTelefono(rs.getString("telefono"));
		    nuevo.setCiudad_origen(rs.getString("ciudad_origen"));
		    nuevo.setTipo_sangre(rs.getString("tipo_sangre"));
		    nuevo.setEstatura(rs.getString("estatura"));
		    nuevo.setPeso(rs.getString("peso"));
		    
		    lista.add(nuevo);
		    }
		 
		 
		 System.out.println("Consulta realizada ");
		
		 
		 
		 
		 
	 rs.close();
		 stmt.close();  
		 } catch (Exception e) {  
		
			 e.printStackTrace();
		 } finally {  
			 
		 if (con != null) {  
		   
			 try {
				con.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				 e.printStackTrace();
			}  
		       
		 
		 } 
	
	
	
	
		return lista;
	}
	
}
	}
